package com.izobnehc.rabbit.rabbitgenerator.config;


import freemarker.template.TemplateExceptionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.io.File;
import java.io.IOException;

/**
 * freemarker模板配置类
 *
 * @author 11272
 */
@Configuration
public class FreemarkerConfig {

    /**
     * 这个地方有一个注意的点，之前由于是一个单体项目，所有就写成  src/main/resources/templates没有什么问题
     * 但是现在这个是聚合项目，目录是从根目录开始，也就是要带上模块的名称
     */
    private static final String TEMPLATE_PATH = "rabbit-generator/src/main/resources/templates";

    @Bean
    public freemarker.template.Configuration freemarkerConfiguration() throws IOException {
        freemarker.template.Configuration cfg = new freemarker.template.Configuration(freemarker.template.Configuration.VERSION_2_3_22);
        cfg.setDefaultEncoding("UTF-8");
        cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
        cfg.setDirectoryForTemplateLoading(new File(TEMPLATE_PATH));
        return cfg;
    }
}
